package cn.wokoba.service.tag.service;


import cn.wokoba.service.tag.adapter.repository.ITagRepository;
import cn.wokoba.service.tag.model.entity.CrowdTagsJobEntity;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;


@Slf4j
@Service
public class TagService implements ITagService {

    @Resource
    private ITagRepository repository;

    @Override
    public void execTagBatchJob(String tagId, String batchId) {
        log.info("人群标签批次任务 tagId:{} batchId:{}", tagId, batchId);

        // 1. 查询批次任务
        CrowdTagsJobEntity crowdTagsJobEntity = repository.queryCrowdTagsJobEntity(tagId, batchId);

        //TODO 2. 采集用户数据 - 这部分需要采集用户的消费类数据，后续有用户发起拼单后再处理。

        // 3. 模拟数据写入记录
        List<String> userIdList = new ArrayList<String>() {{
            add("user001");
            add("user002");
            add("user003");
            add("user004");
            add("user005");
            add("user006");
        }};

        for (String userId : userIdList) {
            repository.addCrowdTagsUserId(tagId, userId);
        }

        // 4. 更新人群标签统计量
        repository.updateCrowdTagsStatistics(tagId, userIdList.size());
    }

}
